package com.ruoyi.message.structures.mapper;

import java.util.List;
import com.ruoyi.message.structures.domain.PaperStructures;
import com.ruoyi.types.domain.PaperTypes;

/**
 * 结构步骤Mapper接口
 * 
 * @author ruoyi
 * @date 2025-01-09
 */
public interface PaperStructuresMapper 
{
    /**
     * 查询结构步骤
     * 
     * @param structureId 结构步骤主键
     * @return 结构步骤
     */
    public PaperStructures selectPaperStructuresByStructureId(Long structureId);

    /**
     * 查询结构步骤列表
     * 
     * @param paperStructures 结构步骤
     * @return 结构步骤集合
     */
    public List<PaperStructures> selectPaperStructuresList(PaperStructures paperStructures);

    /**
     * 新增结构步骤
     * 
     * @param paperStructures 结构步骤
     * @return 结果
     */
    public int insertPaperStructures(PaperStructures paperStructures);

    /**
     * 修改结构步骤
     * 
     * @param paperStructures 结构步骤
     * @return 结果
     */
    public int updatePaperStructures(PaperStructures paperStructures);

    /**
     * 删除结构步骤
     * 
     * @param structureId 结构步骤主键
     * @return 结果
     */
    public int deletePaperStructuresByStructureId(Long structureId);

    /**
     * 批量删除结构步骤
     * 
     * @param structureIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePaperStructuresByStructureIds(Long[] structureIds);

    /**
     * 批量删除类型
     * 
     * @param structureIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePaperTypesByStructureIds(Long[] structureIds);
    
    /**
     * 批量新增类型
     * 
     * @param paperTypesList 类型列表
     * @return 结果
     */
    public int batchPaperTypes(List<PaperTypes> paperTypesList);
    

    /**
     * 通过结构步骤主键删除类型信息
     * 
     * @param structureId 结构步骤ID
     * @return 结果
     */
    public int deletePaperTypesByStructureId(Long structureId);
}
